﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;
using log4net;
using UTSDAL.LINQSQL.Exceptions;
using System.Data.SqlClient;

public partial class Insert : System.Web.UI.Page {

    private static readonly ILog log = LogManager.GetLogger(typeof(Insert));

    protected MetaTable table;

    protected void Page_Init(object sender, EventArgs e) {
        DynamicDataManager1.RegisterControl(DetailsView1);
    }

    protected void Page_Load(object sender, EventArgs e) {
        table = DetailsDataSource.GetTable();
        Title = table.DisplayName;

        
    }

    protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e) {
        if (e.CommandName == DataControlCommands.CancelCommandName) {
            Response.Redirect(table.ListActionPath);
        }
    }

    protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e) {

        if(DetailsView1.DefaultMode.Equals(DetailsViewMode.Insert))
        {
            if (e.Exception == null || e.ExceptionHandled)
            {
                Session["InsertPerformed"] = "Insert";
                Response.Redirect(table.ListActionPath);

            }
            else
            {
                if (e.Exception is SqlException)
                {
                    e.ExceptionHandled = true;
                    Message.Visible = true;
                    Message.Msg = DAOExceptionHandler.getMessage(e.Exception);
                    Message.ImagePath = "~/images/cross.png";
                }
            }
        }

        log.Debug("DetailsView1_ItemInserted");
        
//        UpdatePanel1.Update();
    }
}
